package com.yunxi.sto.service;

import com.github.pagehelper.PageInfo;
import com.yunxi.sto.pojo.StoTransportOrderApproveVO;
import com.yunxi.sto.pojo.StoTransportOrderDetailVO;
import com.yunxi.sto.pojo.StoTransportOrderStockInVO;
import com.yunxi.sto.pojo.StoTransportOrderVO;
import java.lang.reflect.InvocationTargetException;
import java.util.List;

/**
 * <p>
 * 车辆发运单 服务类
 * </p>
 *
 * @author caoYong
 * @since 2019-05-29
 */
public interface StoTransportOrderDubboService {

    StoTransportOrderVO getById(String id) throws Exception;

    void saveOrUpdate(StoTransportOrderVO stoTransportOrderVO) throws InvocationTargetException, IllegalAccessException;

    void removeById(String id);

    PageInfo<StoTransportOrderVO> findPageByVO(StoTransportOrderVO stoTransportOrderVO, Integer pageNum, Integer pageSize) throws InvocationTargetException, IllegalAccessException;

    PageInfo<StoTransportOrderDetailVO> detailPage(StoTransportOrderDetailVO stoTransportOrderDetailVO, Integer pageNum, Integer pageSize) throws InvocationTargetException, IllegalAccessException;

    void removeByListVo(List<StoTransportOrderVO> stoTransportOrderVOList) throws IllegalAccessException, InvocationTargetException, InstantiationException;

    void receive(List<String> list,String partnerCode,String userName,String userCode)throws Exception;

    void approve(StoTransportOrderApproveVO stoTransportOrderApproveVO)throws Exception;

    void stockIn(StoTransportOrderStockInVO stoTransportOrderStockInVO)throws Exception;
}
